package com.ize.entity.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
@ApiModel("预约统计结果")
public class ReservationStatisticsDTO {

    @ApiModelProperty("总预约数")
    private Long total;

    @ApiModelProperty("待确认数量")
    private Long pendingCount;

    @ApiModelProperty("已确认数量")
    private Long confirmedCount;

    @ApiModelProperty("已取消数量")
    private Long cancelledCount;

    @ApiModelProperty("已完成数量")
    private Long completedCount;

    @ApiModelProperty("已改期数量")
    private Long rescheduledCount;

    @ApiModelProperty("科室分布")
    private List<DeptDistribution> deptDistribution;

    @ApiModelProperty("时间分布")
    private List<TimeDistribution> timeDistribution;

    @Data
    @ApiModel("科室分布项")
    public static class DeptDistribution {
        @ApiModelProperty("科室名称")
        private String name;

        @ApiModelProperty("预约数量")
        private Long value;
    }

    @Data
    @ApiModel("时间分布项")
    public static class TimeDistribution {
        @ApiModelProperty("日期")
        private String date;

        @ApiModelProperty("预约数量")
        private Long count;
    }
}
